// 导入收藏和取消收藏的接口
import {
    good_fav,
    good_unfav,
    shopcart_list,
    shopcart_add,
    shopcart_sub,
    good_favlist,
    shopcart_clear
} from "../uilt/api"
// 封装同步action COLLECT 收藏事件
function create_collect(params) {
    return {
        type: "COLLECT",
        params
    }
}
// 封装同步action UNCOLLECT 取消收藏事件
function create_uncollect(params) {
    return {
        type: "UNCOLLECT",
        params
    }
}
// 获取收藏列表
function create_collectlist(params) {
    return {
        type: "COLLECTLIST",
        params
    }
}
// 封装同步action 添加购物车
function create_cartadd(params) {
    return {
        type: "CARTADD",
        params
    }
}
// 封装同步action 添加购物车
function create_cartsub(params) {
    return {
        type: "CARTSUB",
        params
    }
}
// 封装同步action 购物车列表
function create_cartlist(params) {
    return {
        type: "CARTLIST",
        params
    }
}
// 封装同步action 购物车列表
function create_cartlist_clear(params) {
    return {
        type: "CARTLISTCLEAR",
        params
    }
}
// 异步action 收藏
function request_create_collect(params) {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {};
        // 发请求
        good_fav({ goodid: params.id, userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_collect(params))
            }
        })
    }
}
//封装异步action 取消收藏事件
function request_create_uncollect(params) {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        good_unfav({ goodid: params.id, userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_uncollect(params))
            }
        })
    }
}
// 异步代码action 获取收藏列表
function request_createlist() {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        good_favlist({ userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_collectlist(res.data.list))
            }
        })
    }
}
// 异步代码action 添加购物车
function request_create_cartadd(params) {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        shopcart_add({ userid: userinfo.id, goodid: params.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_cartadd(params))
            }
        })
    }
}
// // 异步代码action 取消购物车
function request_create_cartsub(params) {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        shopcart_sub({ goodid: params.id, userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_cartsub(params))
            }
        })
    }
}
// 异步代码action 购物车列表
function request_create_cartlist() {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        shopcart_list({ userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_cartlist(res.data.list))
            }
        })
    }
}
// 异步代码action 清除购物车列表
function request_create_cartlist_clear() {
    return function (dispatch) {
        let userinfo = localStorage.getItem("userinfo") ? JSON.parse(localStorage.getItem("userinfo")) : {}
        shopcart_clear({ userid: userinfo.id }).then((res) => {
            if (res.data.code === 200) {
                dispatch(create_cartlist_clear())
            }
        })
    }
}
export {
    request_create_collect,
    request_create_uncollect,
    request_createlist,
    request_create_cartadd,
    request_create_cartsub,
    request_create_cartlist,
    request_create_cartlist_clear
}